VERSION_UPSTREAM := $(shell echo "$(VERSION)" | sed -e 's,-[^-]*$$,,')
VERSION_BINNMU := $(shell echo "$(VERSION)" | sed -rne 's,.*\+b([0-9]+)$$,\1,p')
-include debian/rules.defs
+export WGET=/bin/false
-setup: debian/control
+%:
+ dh $@
+
+setup:
dh_testdir
- $(MAKE) -f debian/rules.gen setup_$(DEB_HOST_ARCH)
+ : xxx config.sub etc.
+ ./configure \
+ --disable-stubdom \
+ --prefix=/usr \
+ --includedir=/usr/include \
+ --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
+ --mandir=/usr/share/man \
+ --infodir=/usr/share/info \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --with-libexec-leaf-dir=xen-$(VERSION) \
+ --disable-blktap1 \
+ --disable-blktap2 \
+ --disable-ocamltools \
+ --disable-qemu-traditional --disable-rombios \
+ --with-system-qemu=/usr/bin/qemu-system-i386 \
+ --enable-ovmf --with-system-ovmf=/usr/share/ovmf/OVMF.fd \
+ --with-system-seabios=/usr/share/seabios/bios-256k.bin
+
+CONFIG = \
+ debug=n \
+ XEN_COMPILE_ARCH=$(XEN_ARCH) \
+ XEN_TARGET_ARCH=$(XEN_ARCH) \
+ EXTRA_CFLAGS_XEN_TOOLS="$(CFLAGS)" \
+ APPEND_CPPFLAGS="$(CPPFLAGS)" \
+ APPEND_LDFLAGS="$(LDFLAGS)" \
+ OCAMLDESTDIR=$(CURDIR)/$(BUILD_DIR)/install-utils_$(ARCH)/$(OCAML_STDLIB_DIR) \
+ PYTHON=$(shell pyversions -r) \
+ LANG=C.UTF-8
build: build-arch build-indep
build-arch: setup
dh_testdir
- $(MAKE) -f debian/rules.gen build-arch_$(DEB_HOST_ARCH)
+ $(MAKE_CLEAN) -C $(DIR)/xen \
+ XEN_COMPILE_ARCH=$(XEN_ARCH) \
+ XEN_TARGET_ARCH=$(XEN_ARCH) \
+ +$(MAKE_CLEAN) -C $(DIR) $(CONFIG) build-tools-public-headers
+ +$(MAKE_CLEAN) -C $(DIR)/tools $(CONFIG)
build-indep: setup
dh_testdir
- $(MAKE) -f debian/rules.gen build-indep
-
-maintainerclean:
- rm -f debian/control* debian/rules.gen debian/xen-hypervisor-* debian/xen-utils-[0-9]*
+ $(MAKE_CLEAN) -C $(DIR)/docs
clean: debian/control
dh_testdir
binary-indep:
dh_testdir
- $(MAKE) -f debian/rules.gen binary-indep
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_install -X .svn --sourcedir=$(DIR)
+ dh_installinit --name xen -- defaults 20 21
+ dh_installinit --name xend
+ dh_installinit --name xendomains --no-start -- defaults 21 20
+ dh_installman \
+ $(SOURCE_DIR)/docs/man1/* \
+ $(SOURCE_DIR)/docs/man5/* \
+ $(SOURCE_DIR)/docs/man8/*
+ dh_installdocs $(SOURCE_DIR)/docs/txt/misc
+ dh_link
+ dh_ucf
+ +$(MAKE_SELF) install-base
+
binary-arch:
dh_testdir
$(MAKE) -f debian/rules.gen binary-arch_$(DEB_HOST_ARCH)
+ +$(MAKE_CLEAN) -C $(DIR) install-tools-public-headers \
+ DESTDIR=$(CURDIR)/$(INSTALL_DIR) $(CONFIG)
+ +$(MAKE_CLEAN) -C $(DIR)/tools install DESTDIR=$(CURDIR)/$(INSTALL_DIR) $(CONFIG)
+ifneq ($(filter i386 amd64,$(ARCH)),)
+ # hvmloader
+ strip --remove-section=.comment --remove-section=.note $(INSTALL_DIR)/usr/lib/xen*/boot/*
+endif
+ @rm -rf $(INSTALL_DIR)
+ +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/examples install-configs
+ +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/hotplug/common install-scripts
+ +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/hotplug/Linux install-scripts
+ +$(MAKE_CLEAN) -C debian/scripts install
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_installdirs boot
+ dh_install debian/templates/xen-hypervisor.bug/* usr/share/bug/$(PACKAGE_NAME)
+ cp $(DIR)/xen/xen$(IMAGE_SUFFIX) debian/$(PACKAGE_NAME)/boot/xen-$(VERSION)-$(FLAVOUR)$(IMAGE_SUFFIX)
+ifeq ($(ARCH),amd64)
+ cp $(DIR)/xen/xen.efi debian/$(PACKAGE_NAME)/boot/xen-$(VERSION)-$(FLAVOUR).efi
+endif
+ +$(MAKE_SELF) install-base
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_install -Xtoolcore --sourcedir=$(DIR) usr/lib/*/lib*-$(VERSION).so*
+ dh_install debian/templates/libxen.bug/* usr/share/bug/$(PACKAGE_NAME)
+ dh_strip
+ dh_makeshlibs -V
+ dh_shlibdeps
+ +$(MAKE_SELF) install-base
+ dh_testdir
+ dh_testroot
+ dh_prep
+ # Move pkgconfig into a multiarch compliant place
+ mv $(DIR)/usr/share/pkgconfig $(DIR)/usr/lib/$(DEB_HOST_MULTIARCH)/
+ dh_install --sourcedir=$(DIR)
+ dh_strip
+ dh_shlibdeps
+ +$(MAKE_SELF) install-base
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_install --sourcedir=$(DIR)
+ dh_strip
+ dh_makeshlibs -V
+ dh_shlibdeps
+ +$(MAKE_SELF) install-base
+ dh_testdir
+ dh_testroot
+ dh_prep
+ install -D -m644 debian/xen-utils.NEWS $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/NEWS
+ install -D -m644 debian/xen-utils.README.Debian $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/README.Debian
+ cp $(DIR)/usr/sbin/* $(DIR)/usr/lib/xen-$(VERSION)/bin/
+ dh_install --sourcedir=$(DIR) usr/lib/xen-$(VERSION)
+ dh_install debian/templates/xen-utils.bug/* usr/share/bug/$(PACKAGE_NAME)
+ dh_lintian
+ ( echo -n "misc:Built-Using="; dpkg-query -f='$${source:Package} (= $${source:Version}), ' -W ipxe-qemu seabios; echo ) >> debian/$(PACKAGE_NAME).substvars
+ dh_python2 -V$(shell pyversions -rv) /usr/lib/xen-$(VERSION)
+ dh_strip
+ dh_makeshlibs -V
+ dh_shlibdeps
+ +$(MAKE_SELF) install-base
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_install --sourcedir=$(DIR)
+ dh_ucf
+ +$(MAKE_SELF) install-base
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_install --sourcedir=$(DIR)
+ dh_strip
+ dh_shlibdeps
+ +$(MAKE_SELF) install-base
+ dh_installchangelogs -XChangelog
+ dh_installdirs
+ dh_installdocs
+ dh_installexamples
+ dh_compress
+ dh_fixperms
+ dh_installdeb
+ dh_gencontrol -- $(GENCONTROL_ARGS)
+ dh_md5sums
+ dh_builddeb
binary: binary-indep binary-arch
setup-arch: $(STAMPS_DIR)/setup-utils_$(ARCH)
setup-flavour: $(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR)
-$(STAMPS_DIR)/setup-docs: SOURCE_FILES = $(filter-out debian, $(wildcard *))
-$(STAMPS_DIR)/setup-docs: DIR=$(BUILD_DIR)/build-docs
-$(STAMPS_DIR)/setup-docs:
- @rm -rf $(DIR)
- mkdir -p $(DIR)
- cp -al $(SOURCE_FILES) $(DIR)
- cp --remove-destination /usr/share/misc/config.guess /usr/share/misc/config.sub $(DIR)
- cd $(DIR); \
- WGET=/bin/false \
- ./configure --disable-stubdom --disable-xen --prefix=/usr
- @$(stamp)
-
-$(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR): SOURCE_FILES = $(filter-out debian, $(wildcard *))
-$(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR): DIR=$(BUILD_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
-$(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR):
- @rm -rf $(DIR)
- mkdir -p $(DIR)
- cp -al $(SOURCE_FILES) $(DIR)
- echo "XEN_VENDORVERSION := $(EXTRAVERSION)" > $(DIR)/xen/xen-version
- @$(stamp)
-
-$(STAMPS_DIR)/setup-utils_$(ARCH): SOURCE_FILES = $(filter-out debian, $(wildcard *))
-$(STAMPS_DIR)/setup-utils_$(ARCH): DIR=$(BUILD_DIR)/build-utils_$(ARCH)
-$(STAMPS_DIR)/setup-utils_$(ARCH):
- @rm -rf $(DIR)
- mkdir -p $(DIR)
- cp -al $(SOURCE_FILES) $(DIR)
- cp --remove-destination /usr/share/misc/config.guess /usr/share/misc/config.sub $(DIR)
- cd $(DIR); \
- WGET=/bin/false \
- ./configure \
- --disable-docs --disable-stubdom --disable-xen \
- --prefix=/usr \
- --includedir=/usr/include \
- --libdir=/usr/lib/$(DEB_HOST_MULTIARCH) \
- --mandir=/usr/share/man \
- --infodir=/usr/share/info \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --with-libexec-leaf-dir=xen-$(VERSION) \
- --disable-blktap1 \
- --disable-blktap2 \
- --disable-ocamltools \
- --disable-qemu-traditional --disable-rombios \
- --with-system-qemu=/usr/bin/qemu-system-i386 \
- --enable-ovmf --with-system-ovmf=/usr/share/ovmf/OVMF.fd \
- --with-system-seabios=/usr/share/seabios/bios-256k.bin
- @$(stamp)
-
-$(STAMPS_DIR)/build-docs: DIR=$(BUILD_DIR)/build-docs
-$(STAMPS_DIR)/build-docs: $(STAMPS_DIR)/setup-docs
- +$(MAKE_CLEAN) -C $(DIR)/docs
- touch $@
-
-# Adding LANG=C.UTF-8 to the build environment to work around a bug in grep
-# which causes it to switch into binary mode in the middle of a file.
-# (see http://bugs.launchpad.net/bugs/1547466)
-
-$(STAMPS_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR): DIR=$(BUILD_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
-$(STAMPS_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR): $(STAMPS_DIR)/setup-hypervisor_$(ARCH)_$(FLAVOUR)
- +$(MAKE_CLEAN) -C $(DIR)/xen \
- XEN_COMPILE_ARCH=$(XEN_ARCH) \
- XEN_TARGET_ARCH=$(XEN_ARCH) \
- LANG=C.UTF-8
- touch $@
-
-$(STAMPS_DIR)/build-utils_$(ARCH) \
-$(STAMPS_DIR)/install-utils_$(ARCH): CONFIG = \
- debug=n \
- XEN_COMPILE_ARCH=$(XEN_ARCH) \
- XEN_TARGET_ARCH=$(XEN_ARCH) \
- EXTRA_CFLAGS_XEN_TOOLS="$(CFLAGS)" \
- APPEND_CPPFLAGS="$(CPPFLAGS)" \
- APPEND_LDFLAGS="$(LDFLAGS)" \
- OCAMLDESTDIR=$(CURDIR)/$(BUILD_DIR)/install-utils_$(ARCH)/$(OCAML_STDLIB_DIR) \
- PYTHON=$(shell pyversions -r) \
- LANG=C.UTF-8
-
-$(STAMPS_DIR)/build-utils_$(ARCH): DIR=$(BUILD_DIR)/build-utils_$(ARCH)
-$(STAMPS_DIR)/build-utils_$(ARCH): $(STAMPS_DIR)/setup-utils_$(ARCH)
- +$(MAKE_CLEAN) -C $(DIR) $(CONFIG) build-tools-public-headers
- +$(MAKE_CLEAN) -C $(DIR)/tools $(CONFIG)
- touch $@
-
-$(STAMPS_DIR)/install-utils_$(ARCH): DIR = $(BUILD_DIR)/build-utils_$(ARCH)
-$(STAMPS_DIR)/install-utils_$(ARCH): INSTALL_DIR = $(BUILD_DIR)/install-utils_$(ARCH)
-$(STAMPS_DIR)/install-utils_$(ARCH): $(STAMPS_DIR)/build-utils_$(ARCH)
- @rm -rf $(INSTALL_DIR)
- mkdir -p $(INSTALL_DIR)/$(OCAML_DLL_DIR)
- +$(MAKE_CLEAN) -C $(DIR) install-tools-public-headers \
- DESTDIR=$(CURDIR)/$(INSTALL_DIR) $(CONFIG)
- +$(MAKE_CLEAN) -C $(DIR)/tools install DESTDIR=$(CURDIR)/$(INSTALL_DIR) $(CONFIG)
-ifneq ($(filter i386 amd64,$(ARCH)),)
- # hvmloader
- strip --remove-section=.comment --remove-section=.note $(INSTALL_DIR)/usr/lib/xen*/boot/*
-endif
- touch $@
-
-$(STAMPS_DIR)/install-utils-common: DIR = $(BUILD_DIR)/build-docs
-$(STAMPS_DIR)/install-utils-common: INSTALL_DIR = $(BUILD_DIR)/install-utils-common
-$(STAMPS_DIR)/install-utils-common: export DESTDIR = $(CURDIR)/$(INSTALL_DIR)
-$(STAMPS_DIR)/install-utils-common: $(STAMPS_DIR)/build-docs
- @rm -rf $(INSTALL_DIR)
- +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/examples install-configs
- +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/hotplug/common install-scripts
- +$(MAKE_CLEAN) -C $(SOURCE_DIR)/tools/hotplug/Linux install-scripts
- +$(MAKE_CLEAN) -C debian/scripts install
- touch $@
-
-$(STAMPS_DIR)/install-hypervisor-common: INSTALL_DIR = $(BUILD_DIR)/install-hypervisor-common
-$(STAMPS_DIR)/install-hypervisor-common: $(STAMPS_DIR)/build-docs
- @rm -rf $(INSTALL_DIR)
- mkdir -p $(INSTALL_DIR)
-
-
-install-base:
- dh_installchangelogs -XChangelog
- dh_installdirs
- dh_installdocs
- dh_installexamples
- dh_compress
- dh_fixperms
- dh_installdeb
- dh_gencontrol -- $(GENCONTROL_ARGS)
- dh_md5sums
- dh_builddeb
-
-install-dummy:
- dh_testdir
- dh_testroot
- dh_prep
- +$(MAKE_SELF) install-base
-
install-hypervisor_$(ARCH)_$(FLAVOUR): DIR=$(BUILD_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
install-hypervisor_$(ARCH)_$(FLAVOUR): PACKAGE_NAME = xen-hypervisor-$(VERSION)-$(FLAVOUR)
install-hypervisor_$(ARCH)_$(FLAVOUR): DH_OPTIONS = -p$(PACKAGE_NAME)
install-hypervisor_$(ARCH)_$(FLAVOUR): $(STAMPS_DIR)/build-hypervisor_$(ARCH)_$(FLAVOUR)
- dh_testdir
- dh_testroot
- dh_prep
- dh_installdirs boot
- dh_install debian/templates/xen-hypervisor.bug/* usr/share/bug/$(PACKAGE_NAME)
- cp $(DIR)/xen/xen$(IMAGE_SUFFIX) debian/$(PACKAGE_NAME)/boot/xen-$(VERSION)-$(FLAVOUR)$(IMAGE_SUFFIX)
-ifeq ($(ARCH),amd64)
- cp $(DIR)/xen/xen.efi debian/$(PACKAGE_NAME)/boot/xen-$(VERSION)-$(FLAVOUR).efi
-endif
- +$(MAKE_SELF) install-base
install-libxen_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
install-libxen_$(ARCH): PACKAGE_NAME = libxen-$(VERSION)
install-libxen_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
install-libxen_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH) install-libxenstore_$(ARCH)
- dh_testdir
- dh_testroot
- dh_prep
- dh_install -Xtoolcore --sourcedir=$(DIR) usr/lib/*/lib*-$(VERSION).so*
- dh_install debian/templates/libxen.bug/* usr/share/bug/$(PACKAGE_NAME)
- dh_strip
- dh_makeshlibs -V
- dh_shlibdeps
- +$(MAKE_SELF) install-base
install-libxen-dev_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
install-libxen-dev_$(ARCH): PACKAGE_NAME = libxen-dev
install-libxen-dev_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
install-libxen-dev_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH)
- dh_testdir
- dh_testroot
- dh_prep
- # Move pkgconfig into a multiarch compliant place
- mv $(DIR)/usr/share/pkgconfig $(DIR)/usr/lib/$(DEB_HOST_MULTIARCH)/
- dh_install --sourcedir=$(DIR)
- dh_strip
- dh_shlibdeps
- +$(MAKE_SELF) install-base
install-libxenstore_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
install-libxenstore_$(ARCH): PACKAGE_NAME = libxenstore3.0
install-libxenstore_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
install-libxenstore_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH)
- dh_testdir
- dh_testroot
- dh_prep
- dh_install --sourcedir=$(DIR)
- dh_strip
- dh_makeshlibs -V
- dh_shlibdeps
- +$(MAKE_SELF) install-base
install-utils_$(ARCH): SOURCE_DIR = $(BUILD_DIR)/build-utils_$(ARCH)
install-utils_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
install-utils_$(ARCH): PACKAGE_DIR = debian/$(PACKAGE_NAME)
install-utils_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
install-utils_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH) install-libxen_$(ARCH)
- dh_testdir
- dh_testroot
- dh_prep
- install -D -m644 debian/xen-utils.NEWS $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/NEWS
- install -D -m644 debian/xen-utils.README.Debian $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/README.Debian
- cp $(DIR)/usr/sbin/* $(DIR)/usr/lib/xen-$(VERSION)/bin/
- dh_install --sourcedir=$(DIR) usr/lib/xen-$(VERSION)
- dh_install debian/templates/xen-utils.bug/* usr/share/bug/$(PACKAGE_NAME)
- dh_lintian
- ( echo -n "misc:Built-Using="; dpkg-query -f='$${source:Package} (= $${source:Version}), ' -W ipxe-qemu seabios; echo ) >> debian/$(PACKAGE_NAME).substvars
- dh_python2 -V$(shell pyversions -rv) /usr/lib/xen-$(VERSION)
- dh_strip
- dh_makeshlibs -V
- dh_shlibdeps
- +$(MAKE_SELF) install-base
install-utils-common: SOURCE_DIR = $(BUILD_DIR)/build-docs
install-utils-common: DIR = $(BUILD_DIR)/install-utils-common
install-utils-common: PACKAGE_NAME = xen-utils-common
install-utils-common: DH_OPTIONS = -p$(PACKAGE_NAME)
install-utils-common: $(STAMPS_DIR)/install-utils-common
- dh_testdir
- dh_testroot
- dh_prep
- dh_install -X .svn --sourcedir=$(DIR)
- dh_installinit --name xen -- defaults 20 21
- dh_installinit --name xend
- dh_installinit --name xendomains --no-start -- defaults 21 20
- dh_installman \
- $(SOURCE_DIR)/docs/man1/* \
- $(SOURCE_DIR)/docs/man5/* \
- $(SOURCE_DIR)/docs/man8/*
- dh_installdocs $(SOURCE_DIR)/docs/txt/misc
- dh_link
- dh_ucf
- +$(MAKE_SELF) install-base
install-hypervisor-common: DIR = $(BUILD_DIR)/install-hypervisor-common
install-hypervisor-common: PACKAGE_NAME = xen-hypervisor-common
install-hypervisor-common: DH_OPTIONS = -p$(PACKAGE_NAME)
install-hypervisor-common: $(STAMPS_DIR)/install-hypervisor-common
- dh_testdir
- dh_testroot
- dh_prep
- dh_install --sourcedir=$(DIR)
- dh_ucf
- +$(MAKE_SELF) install-base
install-xenstore-utils_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
-install-xenstore-utils_$(ARCH): PACKAGE_NAME = xenstore-utils
+Install-xenstore-utils_$(ARCH): PACKAGE_NAME = xenstore-utils
install-xenstore-utils_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
install-xenstore-utils_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH) install-libxenstore_$(ARCH)
- dh_testdir
- dh_testroot
- dh_prep
- dh_install --sourcedir=$(DIR)
- dh_strip
- dh_shlibdeps
- +$(MAKE_SELF) install-base
# vim: filetype=make